/*
 * HBridge.c
 *
 *  Created on: Mar 9, 2011
 *      Author: wli3
 */

int readPin = 6; //用来连接电位器
int buttonPin = 38; //用来连接开关，这次用了个吉利的端口号
int i1Pin = 31; //连接电机驱动板的I1接口
int i2Pin = 30; //连接电机驱动板的I2接口
int speedPin = 6; //连接电机驱动板的EA接口

void setup() {
	pinMode(buttonPin, INPUT); //开关用于输入
	pinMode(i1Pin, OUTPUT); //I1和I2都是数字信号
	pinMode(i2Pin, OUTPUT); //通过设置I1和I2来控制电机旋转方向
	pinMode(speedPin, OUTPUT); //按占空比方式输出的模拟信号
	digitalWrite(buttonPin, HIGH); //设置上拉电阻
}

void loop() {
	//读取按钮状态
	boolean buttonPressed = digitalRead(buttonPin);
	//设置转动方向，I1和I2值相反时，分别对应两种不同的转向；I1和I2值相同时停止转动
	digitalWrite(i1Pin, buttonPressed);
	digitalWrite(i2Pin, !buttonPressed);
	//读取电位器（传感器）的读数，值范围从0到1023
	int readValue = analogRead(readPin);
	//PMW的值范围是0~255
	readValue /= 4;
	//设置转速
	analogWrite(speedPin, readValue);
	delay(500);
}
